<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title></title>
  <!--引入Vue-->
  <script type="text/javascript" src="../js/vue.js"></script>
  <script type="text/javascript" src="../js/dayjs.min.js"></script>
</head>
<body>
<div class="root">
  <p>计算属性格式化时间:{{fmtTime}}</p>
  <p>methods格式化时间:{{getFmtTime()}}</p>
  <p>过滤器格式化时间:{{time | timeFormatter}}</p>
  <p>过滤器格式化时间:{{time | timeFormatter | mySlice | universalFilter}}</p>
</div>
</body>

<script type="text/javascript">
  // 全局过滤器
  Vue.filter('universalFilter',function(value) {
    return value.slice(0,2)
  })

  new Vue({
    el: '.root',
    data: {
      name: 'Jack',
      time: 1646014595223
    },
    computed:{
      fmtTime(){
        // dayjs().format();                                     // 2020-09-08T13:42:32+08:00
        // dayjs().format('YYYY-MM-DD');                         // 2020-09-08
        // dayjs().format('YYYY-MM-DD HH:mm:ss');                // 2020-09-08 13:47:12
        // dayjs(1318781876406).format('YYYY-MM-DD HH:mm:ss');   // 2011-10-17 00:17:56
        return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
      }
    },
    methods:{
      getFmtTime(){
        return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
      }
    },
    filters:{
      timeFormatter(val){
        return dayjs(val).format('YYYY-MM-DD HH:mm:ss')
      },
      mySlice(value){
        return value.slice(0,4)
      }
    }
  })
</script>
</html>
